Continuous re-insertion of advertisements in video content

ABSTRACT

Systems which allow for the insertion of targeted advertisements or other messages into programming content, e.g., using Digital Video Recording (DVR) technology are disclosed. Systems use storage to pre-load advertisements, record content with commercials breaks, and merge the advertisements into the recorded content in the background, so that they are available when the content is viewed in time-shifted mode.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Ser. No.61/181,535 filed May 27, 2009, the entire disclosure of which isincorporated by reference herein.

FIELD OF INVENTION

The invention generally relates to video processing, and morespecifically to continuous insertion of advertising content in videomedia.

BACKGROUND

Consumers of video content are increasingly making use of Digital VideoRecorders (DVR) to view content, such as television programming, on atime-shifted basis. Users of such systems are typically able to “record”programming which may be made available on a particular schedule,allowing them to consume the content later, at a more convenient time.

The advent and growing popularity of DVRs in the households oftelevision viewers presents a unique problem to advertisers and thenetworks or service providers that air advertising content. Becauseusers have the ability to view programming in a non-linear fashion(i.e., the ability to fast-forward, pause, slow-motion or entirely skipcontent) advertising content can be overlooked and in some instancesnever be seen by the intended audience.

Further, although it is often desirable to insert local or otherwisetargeted advertisements, such as television commercials, into suchcontent, doing so on-the-fly imposes real-time processing requirementswhich may be difficult or costly to implement. In addition, on-the-flyinsertion may also be problematic when users are provided with theability to consume content in a non-linear fashion. For example, when auser is viewing a portion of content and then quickly rewinds into acommercial break, it may not be possible to identify and insert anappropriate advertisement into that commercial break on-the-fly, withoutinterruption of the user's experience.

What is needed therefore is a system and method of adapting advertisingcontent in a DVR environment that dynamically adapts advertising contentto be relevant no matter when the program carrying the advertisement isbeing viewed.

SUMMARY

Embodiments of the present invention provide for systems which allow forthe insertion of targeted advertisements or other messages intoprogramming content, e.g., using Digital Video Recording (DVR)technology. Such example systems may use storage to pre-loadadvertisements, record content with commercials breaks, and merge theadvertisements into the recorded content in the background, so that theyare available when the content is viewed in time-shifted mode. Suchexample systems may reduce the amount of real-time processing requiredto insert advertisements into recorded content, and may alsoautomatically support “trick” modes during playback, e.g., non-linearmodes such as fast forward and rewind.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be more readily understood from a detaileddescription of the preferred embodiments taken in conjunction with thefollowing figures:

FIG. 1 illustrates an example system in accordance with an exampleembodiment of the present invention.

FIG. 2 illustrates an example table in accordance with an exampleembodiment of the present invention.

FIG. 3 illustrates an example procedure in accordance with an exampleembodiment of the present invention.

DETAILED DESCRIPTION

Throughout the application, where compositions are described as having,including, or comprising specific components, or where processes aredescribed as having, including or comprising specific process steps, itis contemplated that compositions of the present teachings also consistessentially of, or consist of, the recited components, and that theprocesses of the present teachings also consist essentially of, orconsist of, the recited process steps.

In the application, where an element or component is said to be includedin and/or selected from a list of recited elements or components, itshould be understood that the element or component can be any one of therecited elements or components and can be selected from a groupconsisting of two or more of the recited elements or components.Further, it should be understood that elements and/or features of acomposition, an apparatus, or a method described herein can be combinedin a variety of ways without departing from the spirit and scope of thepresent teachings, whether explicit or implicit herein.

The use of the terms “include,” “includes,” “including,” “have,” “has,”or “having” should be generally understood as open-ended andnon-limiting unless specifically stated otherwise.

The use of the singular herein includes the plural (and vice versa)unless specifically stated otherwise. Moreover, the singular forms “a,”“an,” and “the” include plural forms unless the context clearly dictatesotherwise. In addition, where the use of the term “about” is before aquantitative value, the present teachings also include the specificquantitative value itself, unless specifically stated otherwise. As usedherein, the term “about” refers to a ±10% variation from the nominalvalue.

It should be understood that the order of steps or order for performingcertain actions is immaterial so long as the present teachings remainoperable. Moreover, two or more steps or actions may be conductedsimultaneously.

Embodiments of the present invention provide systems and methods whichallow for the insertion and re-insertion of advertisements into videocontent, at a time before the content is to be played out. It is herenoted that, for the sake of clarity, the example embodiments may bedescribed in the context of inserting advertisements into video content,and some embodiments are described with reference to DVRs and televisionsystems. It is to be understood, however, that the present invention isnot limited to such embodiments. Rather, the present invention extendsto any type of messages which may be inserted into any type of mediacontent. For example, other embodiments may include the insertion ofaudio advertisements into musical, or other audio content, etc.

A system in accordance with an example embodiment of the presentinvention is depicted in FIG. 1. FIG. 1 illustrates a system 101, whichmay, for example, be a Digital Video Recorder (DVR) device, capable ofproviding users with video content on a time-shifted basis. The systemmay contain one or more storage devices 102 and 103, which may beconfigured to store video content, advertisements, and otherinformation. The storage devices may be any devices capable of storingsuch content, including optical or magnetic media, flash memory or othernon-volatile memory, etc. The storage devices, while depicted as twodiscrete devices may also be implemented as logical devices on the samemedia source. The illustrative system may also include input and outputinterface devices configured to receive content, output content, andreceive user input. For example, the system may be capable of connectingto a cable television network, over which content may be received. Otherexample systems may be capable of connecting to other informationsources, e.g., the Internet, satellite television networks, over-the-airtransmissions, etc. In addition, example systems may be capable ofreceiving user input, e.g., from a remote control device.

As illustrated, the example system may be capable of receiving featureprogram content 104. As used herein the term feature program refers tothe desired program chosen by a user to record or view, such as atelevision episode, movie, video clip, audio clip or other consumablemedia. While illustrative embodiments refer to the content as a featureprogram, one skilled in the art would recognize that the scope of theinvention is not limited only to specialized content sometimes referredto in the art as Feature Films, showcases or presentations.

The content received can be any type of content that the system iscapable of processing. For instance, the system may receive videocontent, including, for example, television programming, films, or othervideo and audio media. Such content may be linear or non-linearprogramming, and may originate from any possible source, for example,commercial-free networks, networks that have commercial breaks (some ofwhich can be used for re-inserting commercials at the system), or anyother source. In addition, the content received may be in any usableformat, for instance, in a standard video format encoded according to anMPEG standard, in an analog format, or in any other format in which thecontent may be encoded.

In addition, the content may include metadata. For instance, the contentmay support “addressable” commercial breaks, which may facilitate theinsertion of advertisements into the content. To do so, such content mayinclude media break data, which may signal the position of the“addressable” breaks as well as metadata that identifies the break. Thedata may include all of the information required to insert anadvertisement into the break, for example, the start of the break andthe duration of the break, as well as information identifying theadvertisements or types of advertisements suitable for the break. Suchdata may be either physically embedded with the content, e.g., stored inthe same transport stream or file, or logically embedded, e.g., storedin separate file, but highly time synchronized. Such metadata may beaccessible by example systems, which may be configured to read,interpret, and use the data to, e.g., insert advertisements into videocontent.

One embodiment of the system may provide for the recording of receivedcontent. For example, a system may include a record controller 105 whichmay be configured to receive the incoming content. The record controller105 may, for example, select some content from the incoming set ofcontent to be recorded. For instance, the record controller 105 mayreceive a user indication that a particular segment of content orfeatured content is to be recorded. Such an indication may identify asingle piece of content, or may identify a number of pieces of content.For instance, a television program may be identified, which may includemultiple episodes, or several distinct programs may be identified, etc.Content may be identified in any usable manner, for example, by channeland time, by name, or by any unique identifier.

As it receives content to be recorded, the record controller 105 maystore the content on a storage device 102, or on another storage media.The content may be stored in any acceptable form. For instance, thecontent may be stored in a compressed digital form. In addition, thecontent may be encrypted to prevent unauthorized playback and copying ofthe content. The record controller 105 may also store any metadataassociated with the content. For example, the record controller maystore metadata indicating insertion points for advertisements. Suchmetadata may be recorded along with the content and/or may be extractedand stored separately from the content, for example in a table of suchmetadata.

Example systems may also receive television commercials 106, or othertypes of advertisements, addressable content or messages, which may beinserted into commercial breaks. Such advertisements may be receivedtogether with the primary content or may be received separately from it.In addition, such advertisements may be received over the samecommunication system from which the content is received or may bereceived using a different system. For example, advertisements may bereceived over a cable television network and recorded, downloaded froman Internet source, or received via fixed media through a USB port oranother suitable local interface.

For example, a system may include a load controller 107, which may beconfigured to load new advertisements and advertisement campaigns ontothe system. For instance, the load controller 107 may receive newadvertisements or campaigns using an in-band video transport network, orany other suitable network. The load controller 107 may then identifyand extract individual advertisements from the received material and maystore them on a storage device 103 or on some other storage system. Inaddition, the load controller 107 may also extract targeting rules 108for the advertisements and may store them in a targeting table 109, asexplained further below.

In one embodiment, the advertisements may be stored in a special“advertisement pool” area on the storage device 103. Such an area maynot be directly accessed by an end user of the system. For instance, auser of the system may not be provided with the ability to directlyview, alter, or delete advertisements stored on the system. Rather, theadvertisements may be viewed by the user only when the system inserts anadvertisement into content, etc. Of course, in other embodiments, such astorage area need not be provided, and advertisements may be directlyaccessible.

In example embodiments, the stored advertisements are maintained by aservice provider. For instance, an example system may be configured toallow a service provider to issue a set of advertisements which may bereceived by the system as discussed above. In addition, the system maybe configured to allow the service provider to manage theadvertisements. For example, the service provider may periodically, orcontinuously, make available new advertisements, which may replace olderadvertisements or which may add to the existing advertisements. Theservice provider may also delete advertisements which are no longer inuse, and may similarly manage any insertion rules associated with theadvertisements.

In addition to the content and advertisements, example systems may storeinformation enabling the system to insert appropriate advertisements.Again, the system may store such information in a local storage device,or in some other storage in communication with the system. For instance,a system may contain a targeting table 109, which may store metadataassociated with the particular advertisements which may be inserted intoprogramming. For instance, for each stored advertisement, targetingtable 109 may include all of the information necessary to determine wheninsertion of that advertisement is appropriate. For example, thetargeting table 109 may include rules for targeting each advertisement.The targeting table 109 may also include information about the types ofcontent into which the advertisement should be inserted, the time of daythe advertisement should be shown, demographics which should betargeted, or any other parameters defining or identifying a targetaudience.

An example targeting table is depicted in FIG. 2. FIG. 2 illustrates anumber of categories of information which might appear in a targetingtable. For instance, a unique asset ID 201 may be stored in the table,identifying a particular advertisement which may be stored on thesystem. Similarly, the table may contain an asset name 202, which may bea unique name which, for example, allows a stored advertisement to belocated. The table may also contain demographic rules 203. Such rulesmay provide information allowing advertisements to be targeted atparticular consumers, for example by age, gender, income, residence,employment, etc. Using such information, advertisements may be deliveredto viewers.

Example targeting tables may also include content rules 204, whichinclude rules that specify content specific targeting. For example, thetable may contain information indicating that a particular advertisementshould be inserted into the content of a particular program or network,or content falling in a certain genre. In addition, example tables mayalso contain time rules 205, which include rules that specify timespecific targeting. For instance, a table may include informationindicating that a particular advertisement should be inserted into primetime programming or should be inserted only on weekends. Example tablesmay also include playout rules 206, which may specify how anadvertisement should be inserted given other insertions, or renderings,of the advertisement. For instance, a table may contain informationindicating that a particular advertisement is to be shown no more than apredetermined number of times in content of a certain duration. Tablesmay contain rules specifying any such behavior such as, withoutlimitation, setting a minimum number of appearances, a frequency cap,rotation rules, etc.

Returning to FIG. 1, example systems may also maintain a reporting table110, which may contain statistics concerning usage of the system anduser consumption of content and advertising. The reporting table maystore playout information about particular advertisements and/or regularcontent. For example the table may contain data on if, when, and howoften a certain advertisement or segment of content was viewed, thetimes at which it was viewed, for how long it was viewed, or the mannerit was viewed (i.e., whether it was fast-forwarded or rewound, etc.)Such a table may also record information identifying the content intowhich particular advertisements are inserted.

Example systems may also include a processor, which may be configured toinsert advertisements into the content. For example, a system mayinclude a merge controller 111, which may scan recorded content for“eligible” media breaks, i.e., breaks in content into which anadvertisement may be inserted. For example, as mentioned above, contentmay include metadata indicating the location of a commercial break incontent, into which an advertisement may be inserted. Such metadata maybe encoded in a traditional manner, e.g., as a tone appearing in acontent signal, or may be more elaborate metadata. Example systems maysearch each content segment for the appearance of such metadata and/orsignaling. Typically such metadata will appear shortly before acommercial break, e.g., 5-10 seconds before an advertisement may beinserted. “Eligibility” of a particular break for re-insertion, may bedetermined in any appropriate manner. For example, metadata identifyingthe break may only be transmitted for eligible breaks, so that bydefinition all recorded breaks that have metadata are eligible.Alternatively, the metadata itself may include an eligibility identifierflagging a break as eligible, or targeting rules may be used to identifyeligible breaks.

For each eligible break, the merge controller 111 may evaluate whetherto insert an advertisement. To do so, the merge controller 111 mayutilize any information relevant to evaluating whether insertion of aparticular advertisement is appropriate. For example, the mergecontroller 111 may access a targeting table 109, a reporting table 110,or other information, and may correlate that information to determinethe best advertisement for the break under consideration at the currenttime, etc. If the merge controller 111 identifies an advertisement moreappropriate than the advertisement currently embedded in the content, itcan replace the current advertisement with the optimal advertisement.For instance, the merge controller 111 may write the advertisement intothe saved content and may store that content. Alternatively, the mergecontroller 111 may create a new instance of the content containing theadvertisement, and may also store the newly created instance.

It is noted that an inserted advertisement may be inserted into contentin any suitable format, and that it need not be encoded identically tothe content itself. For example, an inserted advertisement may have thesame or a different resolution than the content to which it is inserted;if the advertisement is inserted into encrypted content, theadvertisement may also be encrypted or may be inserted in unencryptedform; etc.

In example embodiments, the merge controller 111 may analyze content andinsert advertisements before playback of the content is requested. Sucha merge controller 111 may be configured to analyze recorded contentaccording to any reasonable schedule. For instance, it may be configuredto analyze content as soon as it is recorded, or as it is recorded.Alternatively, the merge controller 111 may be configured to analyzecontent based on a predetermined schedule, or may be configured toassess the current processing demands on the system and to analyzecontent when other processing demands are sufficiently low.

Because the optimal advertisement for a given break may change based onenvironmental factors, for example the current time of day, and becausethe set of available advertisements may change, merge controllers 111may also be configured to continuously analyze each piece of recordedcontent. For example, a merge controller 111 may analyze each piece ofrecorded content in turn. Once it has analyzed each piece of content, itmay return to the first piece of content and may begin again, performingthe processes indefinitely. Merge controller 111 may be configured toperform such a process continuously, or may perform the process on aschedule, e.g., every 30 minutes. Other merge controllers 111 may,however, use any reasonable processes for analyzing content. Forinstance, some merge controllers 111 may analyze recorded content in acontinuous loop. When new content is recorded, however, the mergecontroller 111 may immediately processes the new content beforecontinuing with the loop.

As a result, after processing, each content segment may contain both theoriginal content and also the inserted advertisement. When a userrequests playback of the content, the content may be played immediately,without the need for on-the-fly advertisement insertions. Such a systemmay help ensure that content is played back smoothly, without noticeablediscontinuities introduced during the insertion of advertisements. Inaddition, such a system may need fewer resources or may be able to moreefficiently use the resources available to it. For instance, becauseinsertion happens ahead of consumption of content, the insertion processmay take longer to complete than would be acceptable on the fly.Accordingly, example systems may be constructed with less processingresources or may be able to allocate the available resources to othertasks. Other illustrative embodiments allow for more efficient use ofstorage. For instance, an example system may not store all of theavailable advertisements. Rather, the system may store a complete set ofrules for the insertion of advertisements, e.g, a targeting table.Should the system determine that a particular advertisement should beinserted into content, the system may download the advertisement from aremote source at that time. Because the content is not currently beingviewed, the time necessary to complete the download and insert theadvertisement may not interrupt a user experience.

In addition, such example systems naturally account for non-linearplayback of content. For example, a system may permit a user to initiatea number of “trick” modes, e.g., fast forward, rewind, jump-to-scene,etc., while viewing content. By pre-inserting advertising ahead ofplayback, example systems are able to provide for such trick modesreliably without further processing. Such a system needs only to renderthe already processed content file to the user, as the content containspre-inserted advertisements at the time of rendering.

According to one embodiment, systems may also include a playoutcontroller 112 configured to playback content for user consumption. Theplayout controller 112 may be configured to receive an indication from auser directing the system to playout a particular piece of content. Forexample, the playout controller 112 may be capable of receiving anindication input with a remote control device, or any other suitableinput device. The playout controller 112 may then simply retrieve thecontent and render that content to the user. Because the localadvertisements have already been inserted into the content by the mergecontroller 111, there is no need for further processing. The content issimply rendered. In addition, as the playout controller renders content,it may update information about the advertisements and content rendered,e.g., information stored in a reporting table 110. Of course, theplayout controller 112 may be configured to provide any of the functionstypical of playout systems. For instance, the playout controller 112 maybe configured to playout content in a fastforward or a rewind mode,which again may be activated by input from a user.

Other example embodiments may provide procedures for insertingadvertisements or other messages into content. FIG. 3 illustrates suchan example procedure. The illustrated procedure may begin by receivingan indication that featured program content is to be recorded 301. Forinstance, a user may indicate a particular television program orprograms that are to be recorded, or a preset schedule of programming tobe recorded may be referenced. The indication may be received in anyreasonable manner, and may identify the content that is to be recorded.

The content may then be identified and recorded 302. For example, if thecontent is a television program, the content may be received over acable network, satellite network, over-the-air-antenna, the Internet, orfixed media such as a USB or portable memory device. The receivedcontent may then be stored. The received content may be encoded as afile and saved on a local or remote storage medium, such as a magneticor optical storage device, or flash memory. The content may be stored inany suitable format. For instance, the content may be MPEG-encoded, andmay be encrypted.

Advertisements or advertising campaigns may also be received 303. Forinstance, advertisements may be received from a service provider, andmay be received using any suitable communications media, a cabletelevision network, satellite network, over-the-air-antenna, theInternet, or fixed media such as a USB or portable memory device. Theadvertisements received may form a set of advertisements which may beavailable for insertion into content. For example, the advertisementsmay be a set of television commercials which may be inserted intotelevision programming, in order to provide targeted advertising, etc.The received advertisements may also be stored, either locally orremotely, and may form an advertisement pool. As noted above, theadvertisements may be stored in a form that is not directly accessibleby end users.

Media insertion rules may also be received and stored 304. For instance,the information described above in connection with targeting tables maybe received and stored as insertion parameters, possibly in the form ofa targeting table. Such information may be received along with anadvertisement or advertisements packaged together, for example, as anadvertisement campaign. Rules and parameters may provide informationabout when insertion of a particular advertisement is appropriate. Forinstance, rules associated with a particular advertisement may bereceived which may indicate demographics to be targeted, content intowhich the advertisement is to be inserted, times at which theadvertisement should be inserted, the manner in which multipleinsertions of the advertisement should be handled or other conditionsdictating insertion.

Once such information is received, the stored content may be searchedfor breaks into which advertisements may be inserted 305. For instance,each piece of content stored may be analyzed to identify “eligible”breaks, as explained above. In order to identify such breaks, metadataassociated with the content may be identified. As explained above, thatmetadata may indicate a number of properties about a break in thecontent. For instance, metadata may identify the existence of a break,may indicated the location and duration of the break, may indicatewhether the break is eligible for re-insertion, etc.

Once a break in a piece of content is identified, it may be determinedwhether an advertisement should be inserted into the break 306. Forinstance, the content may currently have either an original or are-inserted advertisement recorded in the break. That advertisement may,however, not be an optimal advertisement for the break anymore. Rather,another available advertisement may be identified as a more appropriateadvertisement for the break, based on the insertion rules associatedwith that advertisement, and other information, such as, withoutlimitation, environmental information, such as the time of day, orprogramming characteristics, such as the name of a television programwhich the content encodes.

If an advertisement is identified as appropriate for insertion, theadvertisement may be inserted into the content 307. For instance, theadvertisement may be inserted into the content file in place of anyadvertisements which may have previously been recorded in the contentfile. As explained above, the advertisement may be inserted in anyreasonable manner and may be encoded in any useable form, which may ormay not need to match the content itself. For instance, theadvertisement may be inserted in an unencrypted form, while the contentitself may or may not be encrypted.

Once the advertisement is inserted into the content, the content may bestored in its updated form 308. As explained above, the content may bestored in place of the older version of the content, or may be stored asa new instance of the content. As stored, the content may be in acomplete form, including a full set of both content and advertisements.As such it may be available for playout to a user, without furtherprocessing.

Once each piece of stored content is analyzed and advertisementsinserted where appropriate, the process may begin again 309. Each pieceof recorded content may be continuously evaluated and new advertisementsinserted where relevant. In this way, the recorded content may always bestored in a complete form, ready for playback, and including the mostrelevant advertisements. Therefore, there may be no need to insertadvertisements into such content on-the-fly.

Should a user indicate that a particular piece of content is desired,the content may be made available immediately 310. For instance, thecontent file may be accessed and rendered. As the content file alreadycontains the most relevant advertisement no further processing may beneeded. In addition, as advertisements in the content are played out,information about the rendering may be recorded 311. For example, areporting table, as described above, may be updated, which may theninfluence future determinations as to whether particular advertisementsshould be inserted into content.

It will be appreciated that all of the disclosed methods and proceduresdescribed herein may be implemented using one or more computer programsor components. These components may be provided as a series of computerinstructions on any conventional computer-readable medium, includingRAM, ROM, flash memory, magnetic or optical disks, optical memory, orother storage media. The instructions may be configured to be executedby a processor, which when executing the series of computer instructionsperforms or facilitates the performance of all or part of the disclosedmethods and procedures.

It will further be appreciated that the above-described methods andprocedures may be provided using the systems disclosed herein, or onother types of systems. The methods and procedures, unless expresslylimited, are not intended to be read to require particular actors orsystems performing particular elements of the methods.

In the preceding specification, the present invention has been describedwith reference to specific example embodiments thereof. It will,however, be evident that various modifications and changes may be madethereunto without departing from the broader spirit and scope of thepresent invention. The description and drawings are accordingly to beregarded in an illustrative rather than restrictive sense.

The invention claimed is:
 1. A method of adapting media contentcomprising: receiving a feature program and storing the feature programfor a duration in a memory device; receiving addressable content;receiving by a processor media insertion rules defining parameters ofmedia insertion into the feature program; analyzing by the processor thefeature program for media break data; correlating by the processorinsertion parameters in the media insertion rules with the media breakdata; generating an updated feature program by inserting addressablecontent into the feature program based on the correlation of theinsertion parameters and the media break data; storing in the memorydevice the updated feature program comprising the inserted addressablecontent for the duration; and continuously analyzing the updated featureprogram while the updated feature program is inactive during theduration that the updated feature program is being stored in the memorydevice responsive to at least one event, the processor replacingaddressable content with optimal addressable content subject to themedia insert rules, wherein the at least one event comprises at leastone of expiration of a predetermined time, completion of an analysisloop and receiving addressable content.
 2. The method of claim 1 furthercomprising reporting to a table usage statistics from the updatedfeature program.
 3. The method of claim 2 wherein the usage statisticsare selected from the group consisting of: user consumption, timesviewed, duration of viewing, manner of viewing, and advertisementidentification.
 4. The method of claim 1 wherein the media break datacomprises an eligibility indicator.
 5. The method of claim 1 furthercomprising storing the addressable content into a pool on the memorydevice.
 6. The method of claim 5 further comprising targeting theaddressable content from the pool to an intended audience.
 7. The methodof claim 1 wherein the media insertion rules further comprisedemographic targets, content identification, insertion times andinsertion manner.
 8. The method of claim 1, wherein the updated featureprogram is inactive responsive to the updated feature program not beingplayed back.
 9. The method of claim 8, wherein the updated featureprogram is inactive responsive to the updated feature program not beingrecorded.
 10. A system for continuously adapting media contentcomprising: a network interface configured to receive media contentcomprising feature content and addressable content; a memory deviceconfigured to receive and store feature content for a duration, thefeature content comprising media break data; a load controller incommunication with the network interface, the load controller receivingaddressable content from the network interface and preparing theaddressable content for insertion; a targeting table accessible by theload controller, the targeting table comprising metadata associated withthe addressable content detailing addressability parameters; a mergecontroller in communication with the memory device, the load controllerand the targeting table, the merge controller continuously analyzing thefeature content while the feature content is inactive during theduration that the feature content is being stored in the memory deviceand identifying media break data responsive to at least one eventcomprising at least one of expiration of a predetermined time,completion of an analysis loop and receiving addressable content, themerge controller identifying the optimal addressable content forinsertion into the feature content based on at least the media breakdata and the addressability parameters, the merger controller directingthe insertion of the appropriate addressable content into the featurecontent to generate updated feature content, the updated feature contentbeing stored in the memory device as the feature content for theduration; and a playout controller in communication with the memorydevice, the playout controller being configured to retrieve the featurecontent for delivery to an end-user through an output interface.
 11. Thesystem of claim 10 wherein the media break data is selected from thegroup consisting of: start of break, duration of break, end of break,and content identification.
 12. The system of claim 10 wherein theaddressable content is stored in a pool on the second memory device, theaddressable content being inaccessible to the end-user.
 13. The systemof claim 10 further comprising a second memory in communication with theload controller and the merge controller, the addressable content beingstored on the second memory device.
 14. The system of claim 10 whereinthe load controller periodically receives updated addressable contentfrom a service provider.
 15. The system of claim 10 wherein thetargeting table further comprises an advertisement identifier, name, anda rules set.
 16. The system of claim 15 wherein the rules set furthercomprises targeted demographic rules.
 17. The system of claim 15 whereinthe rules set further comprises content rules directing content specifictargeting.
 18. The system of claim 15 wherein the rules set furthercomprises time rules directing time specific targeting.
 19. The systemof claim 15 wherein the rules set further comprises playout rules. 20.The system of claim 10 further comprising a reporting table incommunication with the merge controller and playout controller, thereporting table comprising usage statistics.
 21. The system of claim 20wherein the usage statistics are selected from the group consisting of:user consumption, times viewed, duration of viewing, manner of viewingand advertisement identification.
 22. The system of claim 20 wherein themerge controller identifies the appropriate addressable content forinsertion based on the reporting table.
 23. The system of claim 10wherein the merge controller identifies the appropriate addressablecontent for insertion based on the targeting table.
 24. The system ofclaim 10 wherein the media break data comprises an eligibilityindicator.
 25. The system of claim 10, wherein the updated featureprogram is inactive responsive to the updated feature program not beingplayed back and not being recorded.
 26. A digital recording viewercomprising: at least one input interface configured to receive featurecontent and addressable content over a network; at least one memorydevice; a record controller in communication with the at least one inputinterface and the at least one memory device, the record controllerstoring the feature content for a duration in the at least one memorydevice; a load controller in communication with the at least one inputinterface, the load controller receiving addressable content from thenetwork interface and preparing the addressable content for insertion,the addressable content being stored in the at least one memory device;a reporting table in communication with the merge controller and playoutcontroller, the reporting table comprising usage statistics; a targetingtable in communication with the load controller, the targeting tablecomprising metadata associated with the addressable content detailingaddressability parameters; a merge controller in communication with theat least one memory device and the targeting table, the merge controllercontinuously analyzing the feature content while the feature content isinactive during the duration that the feature content is being stored inthe at least one memory device and identifying media break dataresponsive to at least one event comprising at least one of expirationof a predetermined time, completion of an analysis loop and receivingaddressable content, the merge controller identifying the optimaladdressable content for insertion into the feature content based on themedia break data, targeting table and reporting table and directing theinsertion of the appropriate addressable content into the featurecontent to generate updated feature content, the updated feature contentbeing stored in the at least one memory device as the feature contentfor the duration; a playout controller in communication with the atleast one memory device, the playout controller retrieving the featurecontent; and an output interface in communication with the playoutcontroller, the output interface delivering the updated feature contentto an end-user.